System and method for displaying data items in a ticker display pane on a client computer

ABSTRACT

A system and method for dynamically displaying data items on a client computer. In one aspect of the invention, the client computer displays a graphical user interface having a windowing environment and a desktop. The desktop includes a ticker display pane for dynamically displaying the data items. The data items may contain hyperlinks so that a user has access to information on multiple server computers. The data items are displayed in a substantially continuous sequence and may be provided from Internet servers, Intranet servers, LAN servers, and/or the client computer itself.

FIELD OF THE INVENTION

This invention relates to displaying data on a client computer and, moreparticularly, relates to displaying the data in a ticker display pane.

BACKGROUND AND SUMMARY OF THE INVENTION

Graphical user interfaces provide an icon-oriented and/or menu-drivenenvironment for allowing a user to interact with an operating systemrunning on a user's computer. Many graphical user interfaces include awindowing environment and a desktop. A windowing environment presentsthe user with specially delineated areas called windows on a display,each of which is dedicated to a particular application program, file ordocument. The windows can typically be re-sized, moved around on thedisplay, and stacked so as to overlay other windows. The windowingenvironment allows windows to be increased to a full-screen display orminimized, meaning the window is reduced to and denoted by an icon.

The desktop displays icons representing programs, files and resourcesavailable to the user. As such, the desktop acts as a launching pointfor running application programs, opening documents or files, andinitiating operating system services. The desktop cannot be minimized orclosed. Instead, the desktop always remains as a full-screen backgrounddisplay upon which windows overlay.

The desktop in many graphical user interfaces is based on a desktopmetaphor, wherein the desktop is a graphical work surface analogous to asurface of a desk. Similarly, windows overlay the desktop in thegraphical user interface analogous to papers or files laying on top ofthe desk.

One area that may use a graphical user interface is Internet-basedapplications. The Internet is a worldwide collection of cooperatingcomputer networks. A user typically accesses the Internet through a"client" computer. The client computer communicates with a "server"computer on a remote computer network using telephone, ISDN, or T1 linesor similar physical connections. The server computer may downloadcontent (e.g., images, text, application programs, etc.) to the clientcomputer for viewing or execution by the user.

The client and server computers communicate through software protocols,such as File Transfer Protocol (FTP), Simple Mail Transfer Protocol(SMTP), Hypertext Transfer Protocol (HTTP), Gopher, etc. Currently HTTPis the most widely used protocol and is used for accessing the WorldWide Web.

The World Wide Web is a portion of the Internet consisting of servercomputers, also referred to as "sites," which make multi-media documents(often referred to as content) in HTML format generally available fordownloading or retrieval by individuals having a computer with Internetaccess. The documents are generally created in Hypertext Markup Language(HTML) and displayed on a user's computer. HTML documents supportembedded hyperlinks that reference other locations (folder, FTP site,other HTML documents, etc.) The user's computer retrieves and displaysdocuments associated with the other location when the user activates ahyperlink by clicking on the hyperlink or pressing an appropriatekeystroke.

Uniform Resource Locators (URL) are used in conjunction with hyperlinksto identify the referenced location. URLs typically define a protocol tobe used, a domain name of a server computer, a port address to be usedfor communication, and a directory path to access a desired document.Thus, when a user activates a hyperlink, the user's computer uses a URLto establish communication with a server computer designated in the URLand displays a document retrieved from the server.

HTML also allows graphical images to be embedded in HTML documents. Whena graphical image is embedded in an HTML document, the dimensions orsize of the embedded graphical image may be defined with HTMLstatements. For example, the size of an embedded graphical image may bedefined in HTML by <IMG SRC="file.gif" WIDTH=X HEIGHT=Y>, where IMG isan HTML tag referencing an embedded image, SRC="file.gif" defines thelocation and name of the file containing the graphical image embedded inthe HTML document, (e.g., a Graphics Information file or *.GIF) and X,Yare the respective width and height of the graphical image measured inpixels.

Software object components also may be used with HTML documents fordisplaying executable content, such as for animations or informationprocessing. Currently, most Internet browsers support embedded softwareobject components in the form of ActiveX controls, Java applets, andVisual Basic Scripts. These software object components are embedded intoHTML documents using the <Insert> or <Object> HTML tags.

The above-described protocols and HTML documents are the underlyingstructure for many Internet-based applications. One such Internet-basedapplication achieving wide-spread success is called Internetbroadcasting. Internet broadcasting effectively turns a computer into ahigh-tech television set, allowing a client computer to change"channels" for displaying news, sports scores, stock charts, weatherupdates and other kinds of information which are downloaded from theInternet. The information displayed for the channels is dynamicallyupdated, such as through scheduled or manually initiated downloads.

One provider of an Internet broadcasting application is PointCast Inc.PointCast provides an Internet broadcast application on its Internetsite (http://www.pointcast.com) that a user can download to the user'scomputer. The Internet broadcast application executes as a windowedapplication on the user's computer. In the application's window, thePointcast application displays a channel viewer. The channel viewercontains different panes for organizing and reading news. One pane listsa collection of channels encompassing such topics as companies,industries, life styles, news, and sports. When a user activates achannel, a second pane is displayed showing a list of current storiesrelating to the selected channel. If a user activates a story, the fulltext for that story is displayed on a third pane. The PointCastapplication also includes what is called a "SmartScreen" that istriggered after a preset period of inactivity (as in a screen saver).SmartScreen launches a collection of headlines, sports scores, and stocktickers.

The PointCast application has several drawbacks. For example, all of thecontent displayed is delivered from a single server computer called theInternet broadcasting server (e.g., the PointCast server), rather thandirectly from content providers that create the content. Thus, theinformation provided is only as up-to-date as the Internet broadcastingserver. Additionally, if a user is interested in viewing content that isnot available on the Internet broadcasting server, there is no means forintegrating that content into the Internet broadcast. For example,content from other Internet server computers, Intranet server computers,server computers on Local Area Networks (LAN), and the client computeritself, cannot be integrated into the broadcast. The content displayedalso lacks hyperlinks referencing documents on other server computersand allowing a user to obtain more information about an item displayedin the Internet Broadcast.

Additionally, the PointCast application is displayed in one of manypossible open windows. Returning to the desktop metaphor, a user mayfind it difficult to find documents, such as papers or files, lying ontop of a desk when the desk is cluttered with such documents. Similarly,in windows environments wherein a user can have a plurality of windowsopened simultaneously, the user may lose track of which window aparticular application is displayed. Being opened in a window, thePointCast application is susceptible to this problem.

The present invention provides a ticker display pane as part of adesktop on a client computer. The desktop is called an "active" desktopbecause data is animated (e.g., scrolling) in the ticker display pane.The ticker data is updated automatically by retrieving the data directlyfrom content providers. The ticker data also may contain hyperlinks andbe sourced from multiple servers on multiple networks.

In one aspect of the invention, a client computer provides a tickerdisplay pane as part of the desktop for displaying data, such as stockprices, sport scores, and messages. The data is displayed in asubstantially continuous sequence of discrete data items that areanimated in the ticker display pane. For example, the data items mayscroll across the ticker display pane or flash onto the display pane allat once, filling the display pane. Because the ticker display pane ispart of or integrated into the desktop, the user does not need to open aseparate window to display the data items. Additionally, the user alwaysknows the location of the ticker display on the desktop, as opposed tothe ticker display being lost as one of many possible open windows.

In another aspect of the invention, the data is retrieved from one ormore source computers (i.e., multiple providers), which may be locatedon different computer networks. For example, server computers may beInternet, Intranet or LAN server computers. Additionally, informationfrom multiple topic areas, such as sports, entertainment, stocks, andintercorporate messages can be integrated into the substantiallycontinuous sequence of data items. In this aspect of the invention, theticker display pane may or may not be part of the desktop (e.g., theticker may be in a separate window).

In another aspect of the invention, the data retrieved containshyperlinks, thereby allowing a user to select a hyperlink to retrieveand display another document (e.g., folder, HTTP or FTP site, other HTMLdocuments, etc.) designated by the hyperlink.

In yet another aspect of the invention, a source identifier may beintegrated into the desktop. The source identifier displays an imageassociated with the source of the data items currently displayed on theticker display. The source identifier may include a hyperlink. Uponactivating the hyperlink (e.g., clicking on the source identifier), thesystem retrieves and displays a document on a server computer associatedwith the hyperlink. The source identifier may further be an HTML pageallowing the content provider to place advertisements and otherinformation in a display space for the source identifier.

Thus, using the present invention, rich multimedia data is dynamicallyintegrated directly into the desktop on a client computer. The data maybe provided from multiple server computers on multiple networks, such asInternet servers, Intranet servers, LAN servers, etc. Further, the datamay include hyperlinks allowing the user to browse to related documentson a computer network. Finally, the data displayed is the mostup-to-date content, since it is provided directly from the contentproviders.

Additional features and advantages of the invention will be madeapparent from the following detailed description of an illustratedembodiment which proceeds with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer system that may be used toimplement a method and apparatus embodying the invention for displayinga ticker display pane.

FIG. 2 is a block diagram illustrating objects conforming to a componentobject model used in the present invention.

FIG. 3 is an illustration of a graphical user interface according to oneaspect of the invention including a desktop with a ticker display panefor displaying a plurality of data items.

FIG. 4 is an illustration of a network having a plurality ofworkstations capable of sending messages therebetween for display on theticker display pane.

FIG. 5 is an illustration of a personal options page for allowing usersto control which messages sent by other users on a computer network aredisplayed on the ticker display pane.

FIG. 6 is an illustration of a posting options page for allowing a userto select which recipients will receive data posted by the user.

FIG. 7 is an illustration of a desktop viewer sequencing through dataprovided from Internet servers, Intranet servers, LAN servers and theclient computer.

FIG. 8 is a known browser environment on a client computer forconnecting to and interacting with an Internet server computer.

FIG. 9 is an illustration of a known windows user interface including adesktop window.

FIG. 10 is an illustration of a desktop window according to one aspectof the invention with a desktop viewer for displaying a document on afirst pane of the desktop window and desktop icons being displayed on asecond pane of the desktop window.

FIG. 11 is an illustration of a browser for displaying additionalinformation about the document displayed in the desktop viewer of FIG.10.

FIG. 12 is an illustration of a window in a channel guide according tothe invention for customizing which documents are displayed in thedesktop viewer of FIG. 10.

FIG. 13 is a block diagram showing a system architecture for displayingthe desktop window of FIG. 10 on the client computer.

FIG. 14 is an illustration of using multiple channel guides frommultiple serves to display documents in the desktop viewer of FIG. 10.

FIG. 15 is an illustration of using multiple servers for allowing a userto customize which documents from a content provider are displayed inthe desktop viewer of FIG. 10.

FIG. 16 is an illustration of the desktop viewer sequencing throughdocuments provided by multiple content providers.

FIG. 17 is an illustration of the desktop viewer sequencing throughdocuments provided by multiple content providers with special effectsinserted into one of the documents.

FIG. 18 is a flowchart for implementing the desktop window of FIG. 10.

FIG. 19 is a flowchart showing additional steps performed by the systemfor implementing the desktop window of FIG. 10.

FIG. 20 is an illustration of a screen saver according to the inventionusing the channel guide of FIG. 7.

FIG. 21 is an illustration of a special effects screen saver HTML pagefor incorporating special effects into a screen saver document.

FIG. 22 is an illustration of a channel guide listing multiple channels.Selecting a News channel displays the window shown in FIG. 7.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS 1. Computer Overview

Referring to FIG. 1, an operating environment for an illustratedembodiment of the present invention is a computer system 20 with acomputer 22 that comprises at least one high speed processing unit (CPU)24, in conjunction with a memory system 26, an input device 28, and anoutput device 30. These elements are interconnected by at least one busstructure 32.

The illustrated CPU 24 is of familiar design and includes an ALU 34 forperforming computations, a collection of registers 36 for temporarystorage of data and instructions, and a control unit 38 for controllingoperation of the system 20. The CPU 24 may be a processor having any ofa variety of architectures including Alpha from Digital, MIPS from MIPSTechnology, NEC, IDT, Siemens, and others, x86 from Intel and others,including Cyrix, AMD, and Nexgen, and the PowerPc from IBM and Motorola.

The memory system 26 generally includes high-speed main memory 40 in theform of a medium such as random access memory (RAM) and read only memory(ROM) semiconductor devices, and secondary storage 42 in the form oflong term storage mediums such as floppy disks, hard disks, tape,CD-ROM, flash memory, etc. and other devices that store data usingelectrical, magnetic, optical or other recording media. The main memory40 also can include video display memory for displaying images through adisplay device. Those skilled in the art will recognize that the memory26 can comprise a variety of alternative components having a variety ofstorage capacities.

The input and output devices 28, 30 also are familiar. The input device28 can comprise a keyboard, a mouse, a physical transducer (e.g., amicrophone), etc. The output device 30 can comprise a display, aprinter, a transducer (e.g., a speaker), etc. Some devices, such as anetwork interface or a modem, can be used as input and/or outputdevices.

As is familiar to those skilled in the art, the computer system 20further includes an operating system and at least one applicationprogram. The operating system is the set of software which controls thecomputer system's operation and the allocation of resources. Theapplication program is the set of software that performs a task desiredby the user, using computer resources made available through theoperating system. Both are resident in the illustrated memory system 26.

In accordance with the practices of persons skilled in the art ofcomputer programming, the present invention is described below withreference to acts and symbolic representations of operations that areperformed by computer system 20, unless indicated otherwise. Such actsand operations are sometimes referred to as being computer-executed. Itwill be appreciated that the acts and symbolically representedoperations include the manipulation by the CPU 24 of electrical signalsrepresenting data bits which causes a resulting transformation orreduction of the electrical signal representation, and the maintenanceof data bits at memory locations in memory system 26 to therebyreconfigure or otherwise alter the computer system's operation, as wellas other processing of signals. The memory locations where data bits aremaintained are physical locations that have particular electrical,magnetic, or optical properties corresponding to the data bits.

2. Object Overview

Referring to FIG. 2, the illustrated embodiment of the inventionutilizes objects or controls which conform to the component object model(COM) of Microsoft Corporation's OLE. For a detailed discussion of OLEsee Inside OLE, Second Edition by Kraig Brockschmidt, Microsoft Press,Redmond, Wash. 1995. A brief overview of objects in OLE and associatedterminology is provided below before discussing the details of theillustrated embodiment.

An object is an instance of a programmer-defined type referred to as aclass, which exhibits the characteristics of data encapsulation,polymorphism and inheritance. Data encapsulation refers to the combiningof data (also referred to as properties of an object) with methods thatoperate on the data (also referred to as member functions of an object)into a unitary software component (i.e., the object), such that theobject hides its internal composition, structure and operation andexposes its functionality to client programs that utilize the objectonly through one or more interfaces. An interface of the object is agroup of semantically related member functions of the object. In otherwords, the client programs do not access the object's data directly, butmust instead call functions on the object's interfaces to operate on thedata.

Polymorphism refers to the ability to view (i.e., interact with) twosimilar objects through a common interface, thereby eliminating the needto differentiate between two objects. Inheritance refers to thederivation of different classes of objects from a base class, where thederived classes inherit the properties and characteristics of the baseclass (which for purposes of OLE are the interfaces of the base class).

OLE's COM specification defines binary standards for objects and theirinterfaces which facilitate the integration of software components.According to the COM specification, a typical object 50 is representedin the computer system 20 (FIG. 1) by an instance data structure 52, avirtual function table 54, and member functions 56-58. The instance datastructure 52 contains a pointer 60 to the virtual function table 54 anddata 62 (also referred to as data members, or properties of the object).A pointer is a data value that holds the address of an item in memory.The virtual function table 54 contains entries 66-68 for the memberfunctions 56-58. Each of the entries 66-68 contains a reference to thecode 56-58 that implements the corresponding member function.

The pointer 60, the virtual function table 54, and the member functions56-58 implement an interface of the object 50. Client programs interactwith the object 50 by obtaining a pointer (referred to as an interfacepointer) to the pointer 60 of the virtual function table 54. OLEincludes a type definition of an interface pointer which allows clientprograms to call member functions on the interface by name through theinterface pointer and provides type checking on the function'sarguments, as expressed in the following code (in the C++ programminglanguage):

    pInterface->MemberFunction(. . . )

Interfaces conventionally are given names beginning with a capital "I".Objects can include multiple interfaces which are implemented with oneor more virtual function tables. The member function of an interface isdenoted as "IInterfaceName::FunctionName."

The object 50 conforming to the COM specification exhibits dataencapsulation by exposing its interfaces (semantic groupings of itsmember functions) to client programs. The client programs interact withthe object 50 by calling the member functions 56-58 on a particularinterface of the object, but do not directly manipulate the object'sdata. The object 50 also exhibits polymorphism and inheritance in thatthe object 50 can provide interfaces in common with a base class andother similar objects, so that client programs can interact with each ofthe objects in the same manner by calling member functions of theinterface that the objects have in common.

3. Graphical User Interface with a Windowing Environment and a Desktop

Referring to FIG. 3, a graphical user interface environment 100according to the present invention is shown. The graphical userinterface is displayed on the computer display 30 (FIG. 1) and includesa windowing environment for displaying windows 102 and a desktop 104.The windowing environment shown is that of the Microsoft Windows® 95 orWindows NT 4.0 operating systems, but the invention is equallyapplicable to other windowing environments.

The illustrated graphical user interface is displaying two windows 106,108 overlaying the desktop 104 in a front-to-back order. Each windowrepresents a separate application, file or document. Window 108 is thefront-most window, and, as such, is the window which accepts user input.The user can switch other windows to the front by clicking with a mouseor other pointer device, or by inputting certain key combinations. Thisallows the user to work with multiple application programs, files anddocuments. Windows 106 and 108 each have minimize and maximize buttons,such as buttons 110 and 112 on window 106, so that the windows can bereduced to an icon or expanded to full-screen, filling the graphicaluser interface display.

The illustrated desktop includes desktop icons, such as a "My Computer"icon 120, a "Network Neighborhood" icon 122 and an "Internet Explorer"icon 124. Other desktop icons are typically displayed on the desktop104, but are not shown for purposes of simplicity. The icons representprograms, files and resources available to the user. The desktop iconsare illustrative only and entirely different icons may be used.

The desktop 104 also includes a task bar 130 which extends the length ofthe desktop at a bottom-most portion thereof. The task bar 130 includesa start button 132 and a clock 134. Upon clicking the start button 132,a menu (not shown) appears containing user-selectable commands, such asfor running programs, shutting down the computer, and displayingfolders. Icons or buttons (not shown) representing currently runningapplications are also displayed in the task bar.

Elements on the desktop 104, such as the desktop icons 120, 122 and 124,can be moved to other locations on the desktop by dragging and droppingwith a mouse or other pointer device, but cannot be minimized anyfurther. Applications which are open in the windows 106, 108, on theother hand, can be minimized. To "minimize" an application means toremove all windows associated with that application from the displaysuch that only an icon or other graphical element remains displayed inthe task bar representing the application. Minimized applications arestill active and may run in the background. The desktop remains as afull-screen display when all applications or programs are minimized orclosed.

The desktop 104 includes a viewer 140 which is a hypertext viewer usedto display hypertext data, such as HTML data. The viewer 140 views aticker HTML document for displaying a ticker display pane 142 and asource identifier 144. The ticker display pane displays a plurality ofdiscrete data items, such as data items 150, 152, 154 and 156 within thedesktop. The source identifier 144 identifies a content provider that iscurrently sourcing or providing the data items being displayed.

The discrete data items can be displayed in the ticker display paneusing a variety of techniques. In each technique, the data items areanimated meaning they appear in motion during a portion of theirdisplay. For example, the data items can rotate into the ticker displaypane from the bottom or the top thereof. Or the data items can flashonto the ticker display pane, meaning a first set of data items isdisplayed all at once for the full width of the display area and then asecond set is displayed all at once on the display overriding the firstset, etc.

In the illustrated ticker display pane 142, the data items are scrollingfrom right to left across the ticker display pane. Multiple data itemsare displayed simultaneously on the ticker display pane. The tickerdisplay pane 142 contains a first end 170 and a second end 172. The dataitems automatically move from right to left across the ticker displaypane portion of the viewer scrolling onto the ticker display pane fromthe first end 170 and scrolling off of the second end 172. Theillustrated ticker display pane is currently displaying sports scoreswith data item 156 moving onto and data item 150 moving off of theticker display pane. The data items scroll across the display at adefault speed, but the user may select variable speeds through a controlmenu (not shown).

Although shown moving right to left, data items may alternatively movefrom left to right. The ticker display pane also may be oriented in anydesired direction on the desktop, such as vertically, rather thanhorizontally on the desktop. Whether vertically or horizontally, whenscrolling, the data items are considered moving across the desktop.

The data items are typically sourced from multiple content providers.The data is displayed in a substantially continuous sequence with dataitems displayed one after another until all of the data from a currentcontent provider is completed. As the last data item from the currentcontent provider moves off the left end of the ticker display pane, dataitems from the next content provider begin to move onto the tickerdisplay pane from the right end, and the source identifier 144 isupdated accordingly. When the last data item from the last contentprovider is displayed, data items from the first content provider areredisplayed and the cycle repeats. Thus, the data is sequentiallydisplayed in a substantially continuous and seamless manner. The term"substantially continuous" is used to account for minor transitions thatoccur between content providers. This term includes a continuous displayas well, wherein no transitions exist between content providers.

The data may be downloaded from the content providers through regularlyscheduled downloads. Alternatively, the user may choose to updateinformation when the user selects a proper keystroke or chooses a menuitem. The data may also be downloaded during idle time, such as when auser is reading currently downloaded data.

The data displayed in the viewer can relate to different topics ofinformation, such as sports, business, weather, stock information, etc.The different topics correspond to user-selected channels chosen fromthe channel guide (described further below). Messages from other userson a computer network also can be displayed. As will be furtherdescribed below, the substantially continuous sequence of data items caninclude data items provided by multiple servers on multiple networks,such as LAN servers, Intranet servers and Internet servers. The clientcomputer also can source data items for display in the ticker displaypane.

The length of the data items is variable, and the data items displayedmay include hyperlinks for retrieving and displaying documents relatedto the data item. For example, selecting data item 152 may provide moreinformation about the New York vs. Baltimore game.

The source identifier 144 displays the source of the currently displayeddata items. For example, data items 150, 152, 154, and 156 are thecurrent data items being displayed and are sourced from ESPN. When theviewer finishes displaying the data items for ESPN, a new logo appearsfor a new content provider sourcing the data items. The sourceidentifier can be a graphic with a hyperlink embedded therein forallowing a user to retrieve and display a document associated with thesource identifier (e.g., ESPN home page) upon activation of thehyperlink. The source identifier alternatively may be an HTML page forallowing the provider to place advertisements and other information.

The desktop also includes an option button 160 for customizing contentprovided in the viewer. Activating the option button 160 results in anoption menu being displayed. From the options menu a user can select thechannel guide allowing a user to select different content providers tosource data items to the ticker display pane.

The channel is divided into channels (not shown). The channelscorrespond to different topics of information, such as sports,entertainment, etc and/or different content providers. The channel guideprovides a list of content providers relating to a desired channel andallows a user to choose which content providers will display data in theviewer 140.

Further details of how the channel guide operates are described in apatent application entitled "SYSTEM AND METHOD FOR INTEGRATING ADOCUMENT INTO A DESKTOP WINDOW ON A CLIENT COMPUTER", filed Dec. 6, 1996and having an application Ser. No. 08/760,931, which is herebyincorporated by reference.

The viewer 140, icons 120, 122, 124 and the option button 160 are allintegrated into the desktop meaning they are a part of the desktop.Thus, the ticker display pane and the data items are displayed on thedesktop as opposed to being displayed in an application window.Alternatively, the ticker display pane may be in a separate applicationwindow. When in a separate window, the ticker display pane may beminimized like any other window.

4. Network Messages Displayed on the Ticker Display Pane

FIG. 4 shows a system 180 having a server computer 182 and a pluralityof computer workstations 184, 186 coupled together by a network 188. Thenetwork 188 can be an Internet, Intranet, or a LAN. Other types ofnetworks may also be used. Additionally, computer workstations fromother networks can be connected to the network 188 through servercomputer 182. The computer workstations may be connected to the networkusing a variety of hardware, such as a modem, an ethernet networkconnector, or a token-ring network connector.

The computer workstation 184 is shown with a graphical user interfacedisplaying a desktop 192 (details of the desktop shown in FIG. 3 are notillustrated for simplicity). The desktop includes a ticker display pane194 for displaying messages sent over the system 180 and a sourceidentifier 196. The ticker display pane may be a part of the desktop or,alternatively, the ticker display pane may be in a window.

Using the system 180, a user on computer workstation 186 can "post" amessage, meaning send a message to other computer workstations on thesystem. In the illustrated system, a message is posted from computerworkstation 186 stating "meeting in 5 minutes." The message istransferred to computer workstation 184 through server 182 and displayedon the ticker display pane 194.

The message displayed on computer workstation 184 is integrated into ascrolling sequence of data items provided from other content providers,as described above. For purposes of illustration, the source identifier196 is updated to indicate the name of the user sending the message.

The computer workstation 184 also can post messages on the tickerdisplay pane 194. To post messages, software running on the computerworkstation 184 can interact with other applications, such as standardmail or scheduling applications (e.g., Lotus Notes®, Groupwise® orMicrosoft Mail®). Alternatively, dedicated software for ticker displayscan be used for mail or scheduling. In either case, a schedulingapplication can post reminders at desired times (e.g., "meeting at3:00") on the ticker display pane. Additionally, if high priority e-mailmessages are received, a message can be posted on the ticker displaypane stating that mail has been received. Furthermore, operating systemnotices, such as "hard drive full" or network status can be posted onthe ticker display pane.

FIG. 5 shows a browser frame 200 accessible through the system 180 ofFIG. 4. The browser frame includes a tool bar 202 used in Microsoft'sInternet Explorer® version 3.0. A personal options page 204 displayed inthe browser frame is accessed from the desktop by using a right clickmenu option or through a proper keystroke. The personal options pageincludes a list of user-selectable criteria.

In the illustrated example, the list of criteria includes a job-functioncategory 206, system-status category 208, a product-information category210 and a private-options category 212. The categories shown areillustrative only and other categories may be used which are related tothe particular corporation or business using the active desktop.

Selecting the user-selectable criteria updates the server computer 182on the system 180 (FIG. 4) so that the user is included in mail groupscorresponding to the user-selectable criteria. Mail groups allow otherusers to provide only a group name or a group option to send messages toall of the individuals within that group. Similarly, de-selecting thecriteria will update the server computer so that the user is removedfrom the associated mail groups. The user, therefore, uses the personaloptions page 204 to control which messages are sequenced into the tickerdisplay pane.

Although mail groups are used for the illustrated embodiment, the system180 (FIG. 5) may, alternatively, be designed so that all ticker displaymessages are received by computer workstations on the network, and theworkstations individually check the messages to determine whether theuser-selected criteria are satisfied. Having the individual workstationsscreen messages allows the workstations to work independently of theserver so that mail groups stored on the server are not required.

The categories contain options (also called subcategories) that the userselects to control the type of messages displayed in the ticker displaypane.

The job-functions category 206 includes options, such as option 214,indicating the job title of the user. Check boxes, such as check box216, adjacent each option are darkened or checked to indicate the userhas selected that option. For example, the check box 216 is darkenedindicating the user wishes to see data relating to program managers.This selection ensures that data items posted to program managers aredisplayed in the ticker display pane by placing the user in aprogram-manager mail group. Because program managers have littleinterest in messages pertaining to marketing, developers, or testers,the user has not selected these options and messages relating to theseareas are not included in the display.

Categories 208 and 210 allow a user to choose whether they want messagesdisplayed in the ticker display pane relating to network outages andproduct information.

Category 212 is a private feed allowing a workgroup within a corporationor business to receive messages for display on the ticker display pane.The options listed under category 212 are customizable so that aworkgroup can create new, personal options. For example, a user maydesire project status information to be displayed for a particularproject they are working on. Or a manager may post a message to his orher team indicating a team meeting is in a conference room in 10minutes.

Other options (not shown) allow a user to receive general corporate orbusiness messages (e.g., "Tan Volkswagen, license plate number CSN 82Hleft headlights on").

FIG. 6 shows the browser frame 200 of FIG. 5 with a posting page 220being displayed. The posting page allows a user to control which otherusers on the system 180 (FIG. 4) are sent a posted message. The postingpage includes fields 222 and 224 associated with the categories andoptions shown in FIG. 5. For example, field 222 indicates that anyonewho selected "program manager" under the job-function category 206 intheir options page 204 (FIG. 5) will be sent posted messages. Field 224also can be used to further control which users are sent postedmessages. Fields 222 and 224 are logically "ANDed" together to obtainthe group of users that are sent postings. By ANDing together fields,the user is ANDing together individual mail groups associated with thefields. The user is thereby creating new mail groups that are a logicalcombination of existing mail groups.

In the illustrated example, field 224 indicates that "all" users shallreceive postings. A user may select "all" so that no further logicaloperations are performed on the newly created mail group. Thus, usingfields 222 and 224, any users who selected Program Manager under the jobfunction category will be sent posted messages for display in the tickerdisplay pane.

Fields 226 and 228 further restrict which users are sent data items byspecifying a "building" the users work in (for a business with multiplebuildings) or a particular manager the users work under. These fieldsare also logically ANDed with fields 222, 224 to obtain the desiredgroup of users to be sent posted messages. As with the other fields,"all" can be selected if the user wishes no further restrictions toapply.

Although the logical "AND" operator is used in the illustratedembodiment, other logical operators may be used, such as an "OR"operator.

A posting-text pane 230 allows the user to input messages or other dataitems to be posted or sent to the users designated by fields 222, 224,226, and 228. After the user enters the message, the user activatesbutton 232 to send the message to all users satisfying theabove-described conditions.

Thus, using the channel guide described in co-pending application Ser.No. 08/760,931 and the personal options page of FIG. 5, a user cancustomize data received and displayed on the ticker display pane. Thedata received is integrated from Internet servers, Intranet servers, LANservers, and the client computer. The data can be prioritized so that itis displayed next in the substantially continuous sequence of data itemsdisplayed, before normally scheduled data items.

5. Displaying Data Items from Multiple Networks and Multiple ServerComputers

FIG. 7 illustrates the viewer 140 (FIG. 3) as a hypertext viewer forviewing a ticker HTML document 250. The ticker display is defined by theticker HTML document 250 that includes an ActiveX control 252 (seesection 2, above, and co-pending application Ser. No. 08/760,931 fordetails on controls). Based on the ticker HTML document, the viewerdisplays the source identifier and messages and/or data items as shownin FIG. 3.

The control includes a GetProviderInfo function for reading auser-preference storage 254 on the client computer (the GetProviderInfofunction and user-preference storage are further described in co-pendingapplication Ser. No. 08/760,931). The control 252 obtains a sequence ofURLs stored in the user-preference storage and uses the URLs to retrievedata items or messages from multiple content providers. The contentproviders can be from multiple server computers on the same network oron multiple networks.

Although shown as displaying an HTML page, a viewer may also be used todisplay software object components in the form of ActiveX controls, Javaapplets, and Visual Basic Scripts.

The ticker HTML document sequentially displays one or more data itemsand the source identifier from each content provider. For example,assume that a content provider 256 is the first content provider listedin the user-preference storage 254. The ticker HTML uses a URL receivedfrom the user-preference storage to connect to the content provider 256via the Internet. One or more data items from the content provider 256are then displayed in the ticker display pane. The ticker HTML thenretrieves the next URL from the user-preference storage and displaysdata items from the content provider associated with that URL. Each URLmay be associated with a different content provider. The URLs can pointto Internet content providers, such as content providers 256 and 258,Intranet content providers, such as content providers 260, 262 and LANcontent providers, such as content provider 264. This process continuesfor each URL in the user-preference storage until data items from thelast content provider listed in the user-preference storage aredisplayed. After sequencing through all the content providers, thisprocess repeats, starting again with the first content provider 256.

The client computer 20 also can display messages and or data items onthe ticker display pane. For low priority messages, the client computercan update the user-preference storage directly by storing a URL in theuser-preference storage. The URL only requires a directory designationand a file name (i.e., /display/message.htm) when the client computer isthe content provider. Examples of messages from the client computer mayinclude "low disk space warning," "low memory warning," "incominge-mail," "print job completed."

High-priority messages from content providers or the client computer maytrigger an interrupt, causing the ticker HTML document to display thehigh priority message next on the ticker display pane, rather thanfollowing the order listed in the user-performance storage 254. Thespeed with which data items scroll across the ticker display may beslower for high-priority messages to provide the user with a greateropportunity to view the message. High-priority messages also may bedisplayed more frequently.

As explained, the ticker HTML document follows a schedule dictated bythe order of the entries in the user-preference storage. Alternatively,a scheduler may be used to generate the order in which data items aredisplayed.

6. Format of the User-Preference Storage

A simplified example of a user-preference storage entry is as follows:

    ______________________________________     Provider name! (key)     http: //www.espn.com!     Ticker display! (key)    SourceIdentifierURL (/source)    0 (key)    URL (/baseball)    style (1 byte binary value)    2    . . .    N    ______________________________________

This example may be used to display data items from ESPN as illustratedin FIG. 3. The user-preference storage is in the form of ahierarchically structured tree. Each entry node in the tree is called akey. The user-preference storage is similar to a file system, in thateach key contains both subkeys (analogous to directories) and dataentries (analogous to files).

Under the provider name key, a URL associated with the content provideris saved. In the above example, the URL for ESPN is saved (i.e.,http://www.espn.com). Underneath the ESPN URL is a key word "Tickerdisplay" indicating that the information following is to be displayed onthe ticker display.

A URL for the source identifier 144 (FIG. 3) is listed underneath thekey word "ticker display." This URL is used to retrieve a sourceidentifier from a content provider. The source identifier is typicallyan image displayed adjacent the moving data items to indicate thecontent provider sourcing the data items. In the above example, ESPNprovides its logo or image indicating it is the source displaying thedata items.

Listed underneath the source identifier URL is number keys 0 through N.Each number corresponds to a different URL. The URL shown is a directoryonly, to be appended to the provider name URL (i.e., http://www.espn.com/baseball). The directory points to data items to bedisplayed in the ticker display pane.

A ticker display style field listed within key 0 indicates the format ofthe display. For example, the data items can be displayed as scrollingacross the display or flashing, depending on the value of this stylefield.

Key 1 may contain another URL (e.g., /football) corresponding to dataitems to be displayed. Any number of keys associated with any number ofURLs may be included in the user-preference storage for the contentprovider. The user may, however, restrict the length of time a contentprovider displays information in the ticker display pane before dataitems from the next content provider are displayed.

If the data is obtained through scheduled downloads or during idle time,the user-preference storage may be in format as follows:

    ______________________________________     Ticker display! (key)    SourceIdentifierURL (/source)    0 (key)           URL (/baseball)           Update Interval (120)           Cookie (number)    ______________________________________

The update interval controls the time between scheduled downloads. TheURL points to a file located on the server which contains the tickerdata. The file may be an HTML file, rather than a multi-part MIME.

7. Format for Requesting Data Items from Content Providers

The Ticker HTML document 250 retrieves data items from content providersby using a read request. The read request is a standard HTTP POST, withURL encoded parameters. Each requested element is preceded by an R(Request) keyword. A HTTP POST is used to avoid URL length limitations.The format is as follows:

Content-Type: application/x-www-form-urlencodedR=<request1>&R=<request2>&R=<request3>

An exemplary post in this format is as follows:

Content-Type: application/x-www-form-urlencodedR=MSFT&R=NSCP&R=BROD&R=YHOO

The response from a server computer is a multi-part MIME (MultipurposeInternet Mail Extensions) encoded message conforming to a standard setforth in RFC 1521 (RFC (Request For Comments) is a document describing aproposed Internet standard). Each MIME element is an HTML fragment thatis an individual data item. The response format is as follows:

    ______________________________________    HTTP/1.0    Content-Type:Multipart/Mixed;    boundary=<boundary>    -<boundary>    Content-Type:application/prs.ms-tcti    Time-To-Next-Update=<time in minutes>    Source-location= <source html file URL>    Source-file=<optional file that must be           downloaded for source HTML page>    -<boundary>    Content-Type: Text/prs.ms-thtml;tag=<tag1>    <first HTML snippet>    -<boundary>    Content-Type:Text/prs.ms-thtml;tag=<tag1>    <second HTML snippet>    -<boundary>    ______________________________________

An example response in this format is as follows:

    ______________________________________    MIME=Version:1.0    Content-Type:Multipart/Mixed;    boundary=foo    foo    Content-Type:application/prs.ms-tcti    Time-To-Next-Update=15    Source-location=    http: //www.quote.com/images/logo.htm    Source-file=    http://www.quote.com/objects/fancy.ocx    Source-file=    http://www.quote.com/random/random.data    foo    Content-Type: Text/prs.ms-thtml;tag=MSFT    <b>MSFT<b><br>    14.5<br>    <font color=green>+1.5</font><br>    foo    Content-Type:Text/prs.ms-thtml;tag=NSCP    <b>NSCP</b><br>    42<br>    -<font color=red>-5</font><br>    foo-    ______________________________________

The different embodiments of the above-described graphical userinterface provide numerous advantages over the prior art. A shortsummary of the primary advantages is as follows:

1) The ticker display pane is part of the desktop so that a separateapplication window need not be opened to display the ticker data items.Thus, the user always knows the location of the ticker display pane,even when many windows are opened. Additionally, the user is less likelyto close the ticker display because it is not in a window (i.e., userstypically close windows so that they don't interfere with otherwindows). Of course, the ticker may also be displayed in a window ifdesired.

2) The data items displayed in the ticker display pane can be sourcedfrom multiple networks, such as LAN, and Internet and Intranet Networks.

3) The data items are hypertext allowing users to obtain moreinformation about a currently displayed data item by activating (e.g.,clicking on) the data item.

4) A source identifier is displayed that indicates the content providersourcing the currently displayed ticker data items. The sourceidentifier may also be hypertext allowing a user to obtain moreinformation about the content provider.

5) The ticker display data can be messages of any length (limited, ofcourse, to the physical limitations of the computer 20) sent betweenusers on the same or different networks. A user can use a personaloptions page for controlling which messages posted on a network aredisplayed in the ticker display pane.

6) The ticker data items are displayed in a substantially continuoussequence. The sequence of data items can relate to multiple topics ofinformation and be supplied from multiple content providers.

7) A user can use a posting page to choose which users receive postedmessages. Using the postings page, mail groups can be combined usinglogical operators so that only certain members of a mail group are sentmessages.

Having described and illustrated the principles of our invention withreference to an illustrated embodiment, it will be recognized that theillustrated embodiment can be modified in arrangement and detail withoutdeparting from such principles. It should be understood that theprograms, processes, or methods described herein are not related orlimited to any particular type of computer apparatus, unless indicatedotherwise. Various types of general purpose or specialized computerapparatus may be used with or perform operations in accordance with theteachings described herein. Elements of the illustrated embodiment shownin software may be implemented in hardware and vice versa.

In view of the many possible embodiments to which the principles of ourinvention may be applied, it should be recognized that the detailedembodiments are illustrative only and should not be taken as limitingthe scope of our invention. Rather, we claim as our invention all suchembodiments as may come within the scope of the following claims andequivalents thereto.

We claim:
 1. A system for communicating between users on a computernetwork, comprising:a computer workstation including a computer display,the computer workstation being one of a plurality of computerworkstations on the computer network; a graphical user interface fordisplaying a desktop and a ticker display pane on the computer display,the ticker display pane for displaying messages sent from other users onthe network; and a personal options page displayed on the computerdisplay, the personal options page having user-selected criteria forcontrolling which messages posted on the computer network are displayedin the ticker display pane.
 2. The apparatus of claim 1 wherein theticker display pane integrates data items received from a remotecomputer workstation with messages sent from other users on the network.3. The apparatus of claim 1 further including a posting options pagehaving a plurality of fields associated with the user-selected criteriafor allowing a user to control which other users on the computer networkare sent a message.
 4. The system of claim 1 wherein the ticker displaypane is part of the desktop.
 5. A method of displaying data on a clientcomputer having a graphical user interface including a desktop and awindowing environment, the method comprising the steps of:providing aticker display pane for displaying data in the graphical user interface;connecting to a computer network including multiple users; retrieving aplurality of discrete data items from at least one source computer; andintegrating the data items received from the source computer withmessages sent from other users on the computer network.
 6. The method ofclaim 5 further including setting a personal options page havinguser-selected criteria for controlling which discrete data items aredisplayed on the ticker display pane; andsequentially displaying theplurality of discrete data items in the ticker display pane inaccordance with the personal options page.
 7. The method of claim 5further including:connecting to the computer network from the clientcomputer, the computer network having a plurality of server computers,wherein the source computer is a server computer on the network.
 8. Themethod of claim 5 wherein the source computer is the client computeritself.
 9. The method of claim 5 further including:connecting to thecomputer network from the client computer, the computer network having aplurality of server computers; retrieving a first data item from a firstserver computer connected to the computer network; retrieving a seconddata item from a second server computer connected to the computernetwork; and integrating the first and second data items into asequential display of data items displayed on the ticker display pane.10. The method of claim 9 wherein the computer network is a firstcomputer network and the method includes connecting to a third servercomputer on a second computer network and retrieving a third data itemfrom the third server computer for integration into the sequence of dataitems.
 11. The method of claim 9 wherein at least one of the data itemsin the sequence includes a hyperlink referencing a document forretrieving and displaying the document upon activation of the hyperlink.12. The method of claim 5 further including displaying a sourceidentifier for displaying an image indicating the source of a currentlydisplayed data item in a sequence of data items.
 13. The method of claim12 wherein the source identifier includes a hyperlink referencing adocument for retrieving and displaying the document upon activation ofthe hyperlink.